; the format of each command is ; - Command String, ; - Minimum delay between previous send or recieve ; - Need response?, ; - What response string to wait for(empty if any is OK), ; - Does this response need to be saved ; - Timeout value for resend ; - Is this combined with previous command for resend for requested response ; ; There are also commands that are not sent top the controller but just used internally. ; These have a \xFF in the commands field and a unique value in the 'save resp' field. ; These are mostly used as configuration settings for the controller and are listed ; at the top of this file. ; ; COMMAND DELAY NEED RESP RESP SAVE RESP? RESEND TIMEOUT COMBINE WITH PREVIOUS ; These are different config options. The correct options should have the comment indicator (;) removed. [Config] ; SELECT ONE OF THESE TWO TRANSPORTS. Remove the comma in front of the appropraite line ; TCP Comm "\xFF", 0, 0, "", 204, 0, 0 ; UDP Comm ;"\xFF", 0, 0, "", 205, 0, 0 ; ; SELECT ONE OF THESE PROBE TYPES. Remove the comma in front of the appropraite line ; Vast Head "\xFF", 0, 0, "", 206, 0, 0 ; RDS Head ;"\xFF", 0, 0, "", 207, 0, 0 ; DSE Head ;"\xFF", 0, 0, "", 208, 0, 0 ; Analog (non-Vast) Head ;"\xFF", 0, 0, "", 209, 0, 0 ; PH9 Direct to PHC9 ;"\xFF", 0, 0, "", 230, 0, 0 ; PH9 Through Controller ;"\xFF", 0, 0, "", 231, 0, 0 ; ; SET THE IP ADDRESS AND PORT OPTIONS OF THE CONTROLLER ; CMM IP ADDRESS "\xFF", 0, 0, "192.4.1.200", 211, 0, 0 ; CMM PORT ADDRESS "\xFF", 0, 0, "4712", 212, 0, 0 ; HOST IP ADDRESS ;"\xFF", 0, 0, "192.4.1.155", 213, 0, 0 ; HOST PORT ADDRESS ;"\xFF", 0, 0, "4714", 214, 0, 0 ; ; SOME IP BASED CONTROLLERS USE STATUSES INSTEAD OF INTERRUPTS. Remove the comma in front of the line ; CONTROLLER DOES NOT USE INTERRUPT ;"\xFF", 0, 0, "", 210, 0, 0 ; ; CONTROLLER BEEPS WITH HIT. Set 'Delay' field to 1 to turn on beeps "\xFF", 1, 0, "", 220, 0, 0 ; ; SOFTWARE LIMITS SWITCHES - modify the value in delay field. ; X_PLUS "\xFF", 999999, 0, "", 221, 0, 0 ; X_MINUS "\xFF", -999999, 0, "", 222, 0, 0 ; Y_PLUS "\xFF", 999999, 0, "", 223, 0, 0 ; Y_MINUS "\xFF", -999999, 0, "", 224, 0, 0 ; Z_PLUS "\xFF", 999999, 0, "", 225, 0, 0 ; Z_MINUS "\xFF", -999999, 0, "", 226, 0, 0 ; ; SUPPORTS CIRCULAR MOVES - Set 'Delay' field to 1 to turn on "\xFF", 1, 0, "", 300, 0, 0 ; ; MAX SPEED LIMIT - value goes in delay field "\xFF", 413, 0, "", 250, 0, 0 ; ; ACCELERATION - value goes in delay field "\xFF", 200, 0, "", 251, 0, 0 ; ; ROTARY TABLE MAX SPEED LIMIT - value goes in delay field "\xFF", 300, 0, "", 240, 0, 0 ; ; ROTARY TABLE MIN SPEED LIMIT - value goes in delay field "\xFF", 1, 0, "", 241, 0, 0 ; ; ROTARY TABLE SCALE - value goes in delay field "\xFF", 3600, 0, "", 242, 0, 0 ; ; DOUBLE COMMAND DELAY - value goes in delay field "\xFF", 0, 0, "", 260, 0, 0 ; [Initialization] "D107\x0D\x0A", 0, 0, "", 0, 0, 0 "D111i5,"int",13,10\x0D\x0A", 1000, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D80\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D14 \x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "I80\x0D\x0A", 2100, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A", 10, 0, "", 0, 0, 0 "F0 , 0\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A", 10, 0, "", 0, 0, 0 "F0, 1\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A", 10, 0, "", 0, 0, 0 "F0 , 2\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A", 10, 0, "", 0, 0, 0 "F20 , 0\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A", 10, 0, "", 0, 0, 0 "F0 , 3\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A", 10, 0, "", 0, 0, 0 "F0 , 5\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A", 10, 0, "", 0, 0, 0 "F0 , 6\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "/KMGNR\x0D\x0A", 50, 0, "", 0, 0, 0 "D14 \x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D34S2\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D80\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "'TASTKOPF,WDA,A'\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D50 \x0D\x0A", 10, 0, "", 0, 0, 0 "F224, 0\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D50 \x0D\x0A", 10, 0, "", 0, 0, 0 "F224, 1\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D50 \x0D\x0A", 10, 0, "", 0, 0, 0 "F224, 2\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D50 \x0D\x0A", 10, 0, "", 0, 0, 0 "F224, 3\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D50 \x0D\x0A", 10, 0, "", 0, 0, 0 "F224, 4\x0D\x0A", 10, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "M75\x0D\x0A", 10, 0, "", 0, 0, 0 "SYS\x0D\x0A", 10, 0, "", 0, 0, 0 "SYS-CLR\x0D\x0A", 10, 0, "", 0, 0, 0 "DIR\x0D\x0A", 10, 0, "", 0, 0, 0 "READ\x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "SYS/M", 0, 500, 0 ; ; Init2 "END\x0D\x0A", 50, 0, "", 0, 0, 0 "D16S1 \x0D\x0A", 300, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 2, 0, 0 "D16S2 \x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 3, 0, 0 "D45#1,0\x0D\x0A", 20, 0, "", 0, 0, 0 " 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000\x0D\x0A", 20, 0, "", 0, 0, 0 "D45#2,0\x0D\x0A", 0, 0, "", 0, 0, 0 " 0.00000000000 0.00000000000 0.00000000000 0.00000000000 0.00000000000\x0D\x0A", 20, 0, "", 0, 0, 0 "D45\x0D\x0A", 0, 0, "", 0, 0, 0 "D45#1,1\x0D\x0A", 20, 0, "", 0, 0, 0 " 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0 "D45#2,1\x0D\x0A", 0, 0, "", 0, 0, 0 " 0.00000000000 0.00000000000 0.00000000000 0.00000000000 0.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0 "D45\x0D\x0A", 10, 0, "", 0, 0, 0 "D45#1,2\x0D\x0A", 20, 0, "", 0, 0, 0 " 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0 "D45#2,2\x0D\x0A", 0, 0, "", 0, 0, 0 " 0.00000000000 0.00000000000 0.00000000000 0.00000000000 0.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0 "D45\x0D\x0A", 0, 0, "", 0, 0, 0 ; THIS IS THE 'BEEP' / 'NOBEEP' command. For a beep use S1 "D104S0\x0D\x0A", 30, 0, "", 0, 0, 0 "G38,1 \x0D\x0A", 30, 0, "", 0, 0, 0 "fmt0,1|1,f12.4(D17[0]),",",f12.4(D17[1]),",",f12.4(D17[2]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt0,f12.1(D17[3]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt0,2|6,f7.4(D17[10]),",",f7.4(D17[11]),",",f7.4(D17[12]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt0,f6.0(D10[0]),",",f6.0(D10[1]),",",f6.0(D10[2])\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt1,3|1,f14.6(D12[0]),",",f14.6(D12[1]),",",f14.6(D12[2]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt1,f12.1(D12[3]),","+\x0D\x0A fmt1,4|6,f9.6(D12[10]),",",f9.6(D12[11]),",",f9.6(D12[12]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt1,f6.0(D10[0]),",",f6.0(D10[1]),",",f6.0(D10[2])\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt2,5|1,f12.4(D17[0]),",",f12.4(D17[1]),",",f12.4(D17[2]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt2,f12.1(D17[3]),","+\x0D\x0A fmt2,4|6,f7.4(D17[10]),",",f7.4(D17[11]),",",f7.4(D17[12]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt2,f6.0(D10[0]),",",f6.0(D10[1]),",",f6.0(D10[2]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt2,f2.0(D16[16])\x0D\x0A", 10, 0, "", 0, 0, 0 "buf= dist_v(0.01),f12.4(D17[0]),",",f12.4(D17[1]),","+\x0D\x0A buf= f12.4(D17[2]),",",f12.1(D17[3]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "buf= f7.4(D17[10]),",",f7.4(D17[11]),",",f7.4(D17[12]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "buf= f6.0(D10[0]),",",f6.0(D10[1]),",",f6.0(D10[2])\x0D\x0A", 10, 0, "", 0, 0, 0 "D45#1,7\x0D\x0A", 40, 0, "", 0, 0, 0 " 0.00000000000 1.00000000000 0.00000000000 0.00000000000 0.00000000000 -1.00000000000 -1.00000000000 0.00000000000 0.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0, "D45#1,8\x0D\x0A", 0, 0, "", 0, 0, 0 " 0.00000000000 0.00000000000 -1.00000000000 0.00000000000 -1.00000000000 0.00000000000 -1.00000000000 0.00000000000 0.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0 "D45\x0D\x0A", 0, 0, "", 0, 0, 0 "R51DA#1,7\x0D\x0A", 0, 0, "", 0, 0, 0 "R51DB#1,8\x0D\x0A", 0, 0, "", 0, 0, 0 "R50#1,3\x0D\x0A", 0, 0, "", 0, 0, 0 "D0,0\x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 0, 0, 0 ; THIS IS AN INTERNAL FLAG AND NOT SENT TO THE CONTROLLER "\xFF", 0, 0, "", 100, 0, 0 ;############################################################################### [Home] "D1 \x0D\x0A", 40, 0, "", 0, 0, 0 ;"G53X20Y20Z20\x0D\x0A", 20, 0, "", 0, 0, 0 ; home waits for an int that returns an 85 status. "/REF.KMG\x0D\x0A", 1000, 0, "", 0, 0, 0 ;Home move terminates with an 'int' 85 which will be processed by the app ; [PostHome] "D16S1 \x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 2, 0, 0 "D16S2 \x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 3, 0, 0 "D34S1\x0D\x0A", 20, 0, "", 0, 0, 0 "\X01\X0D\X0A", 0, 1, "", 0, 0, 0 ; the above returns ;T,Referenzpunkt - SMM Achsen X,Y,Z ist gesetzt !\x0D\x0A" "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\X01\X0D\X0A", 0, 1, "", 0, 100, 2 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 0\x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 1\x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 2\x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 0, 0, 0 "G53X70Y70Z70\x0D\x0A", 20, 0, "", 0, 0, 0 ; THIS IS THE MOVE AFTER HOME. WE SHOULD CONSIDER MOVING THIS INTO THE CODE "1 :G04X100Y-100Z-200\x0D\x0A",140, 0, "", 0, 0, 0 "D91 \x0D\x0A", 120, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 0, 0, 0 "D16S1 \x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 2, 0, 0 "M75\x0D\x0A", 240, 0, "", 0, 200, 0 "1 :G00Y0\x0D\x0A", 240, 0, "", 0, 200, 0 "D16S1 \x0D\x0A", 160, 0, "", 0, 0, 1 "\X01\X0D\X0A", 0, 1, "@_", 2, 160, 2 " 1:G96 \x0D\x0A", 60, 0, "", 0, 0, 0 "D2 \x0D\x0A", 60, 0, "", 0, 0, 0 "D16S1 \x0D\x0A", 160, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 2, 0, 0 "D1 \x0D\x0A", 40, 0, "", 0, 0, 0 "G53X150Y150Z150\x0D\x0A", 20, 0, "", 0, 0, 0 "D2 \x0D\x0A", 60, 0, "", 0, 0, 0 "M61X200 Y200 Z200 \x0D\x0A", 180, 0, "", 0, 0, 0 "\xFF", 0, 0, "", 102, 0, 0 ;############################################################################### [NoHome] "D1 \x0D\x0A", 40, 0, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 0\x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 1\x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 2\x0D\x0A", 0, 0, "", 0, 0, 0 "\X01\X0D\X0A", 20, 1, "", 0, 0, 0 "G53X150Y150Z150\x0D\x0A", 20, 0, "", 0, 0, 0 "M01\x0D\x0A", 10, 0, "", 0, 0, 0 "M75\x0D\x0A", 240, 0, "", 0, 200, 0 "G00Y0\x0D\x0A", 10, 0, "", 0, 0, 0 "G96 \x0D\x0A", 10, 0, "", 0, 0, 0 ;"M61X200 Y200 Z200 \x0D\x0A", 180, 0, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "\xFF", 0, 0, "", 103, 0, 0 ; [Idle] "D16S1 \x0D\x0A", 80, 0, "", 0, 0, 1 "\x01\X0D\X0A", 0, 1, "*@", 2, 250, 2 "D16S2 \x0D\x0A", 80, 0, "", 0, 0, 1 "\x01\X0D\X0A", 0, 1, "*@", 3, 250, 2 ;"I16\x0D\x0A", 40, 0, "", 0, 0, 1 ;"\x01\X0D\X0A", 0, 1, "", 4, 250, 2 "\x01\X0D\X0A", 80, 1, "*,", 6, 250, 0 ; [StopMotion] "D98\x0D\x0A", 0, 0, "", 0, 0, 1 "D22\x0D\x0A", 1000, 0, "", 0, 0, 2 "D71\x0D\x0A", 1000, 0, "", 0, 0, 3 "D99\x0D\x0A", 200, 0, "", 0, 0, 4 "D90\x0D\x0A", 200, 0, "", 0, 0, 5 "D17\x0D\x0A", 200, 0, "", 0, 0, 6 "G60\x0D\x0A", 200, 0, "", 0, 0, 7